import request from '@/config/axios'

// 设备报警 VO
export interface DeviceWarnVO {
  deviceTypeCode: string // 设备类型编码（集中器1007 | 采集器1008 | 电表1010 | 水表1009）
  deviceCode: string // 设备编码
  warnTypeCode: string // 报警类型_编码
  warnTypeLabel: string // 报警类型_文本
  warnTime: Date // 触发时间
  warnDetail: string // 报警详情
  readStatus: boolean // 是否已读
  readTime: Date // 阅读时间
}

// 设备报警 API
export const DeviceWarnApi = {
  // 查询设备报警分页
  getDeviceWarnPage: async (params: any) => {
    return await request.get({ url: `/zwsj/device-warn/page`, params })
  },

  // 新增设备报警
  createDeviceWarn: async (data: DeviceWarnVO) => {
    return await request.post({ url: `/zwsj/device-warn/create`, data })
  },

  // 更新已读状态
  updateDeviceWarnToReaded: async (id : number) => {
    return await request.put({ url: `/zwsj/device-warn/update/readed?id=${id}` })
  },

  // 删除设备报警
  deleteDeviceWarn: async (id: number) => {
    return await request.delete({ url: `/zwsj/device-warn/delete?id=` + id })
  },

  // 导出设备报警 Excel
  exportDeviceWarn: async (params) => {
    return await request.download({ url: `/zwsj/device-warn/export-excel`, params })
  },
}
